home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Standards 1994 January / InfoMagic Standards - January 1994.iso / misc / merit / 1993 / 93_014.txt next >
Text File  |  1993-01-10  |  64KB  |  1,712 lines

  1. ________________________________________________________________
  2.  
  3. SOURCE:                                   Digital Equipment Corporation
  4.                                           Radia Perlman
  5.                                           550 King St, Littleton MA 01460
  6.                                           (508)486-7648
  7.                                           Fax (508)486-7529
  8.                                           Perlman@DSmail.Enet.Dec.Com
  9. ________________________________________________________________
  10.  
  11. TYPE OF CONTRIBUTION:                 SPECIFICATION
  12.  
  13. ________________________________________________________________
  14.  
  15. ISSUE ADDRESSED: Specification for Implementation of
  16.                             Connectionless OSI over SMDS
  17.  
  18. ________________________________________________________________
  19.  
  20. DATE: December 28, 1992
  21.  
  22. ________________________________________________________________
  23.  
  24. DISTRIBUTION:                               UNLIMITED
  25.  
  26. ________________________________________________________________
  27.  
  28.                                                    ABSTRACT
  29.  
  30. Text of Abstract.
  31.  
  32. This document specifies the method that will be used to run
  33. connectionless OSI over SMDS.  Connectionless OSI includes CLNP [ISO
  34. International Standard 8743], ES-IS [ISO International Standard 9542],
  35. and IS-IS [ISO International Standard 10589].  This document assumes
  36. basic familiarity with these standards.  The design in this document
  37. attempts to minimize routing control traffic and manual configuration.
  38. The issues involve judicious use of CLNP addressing, encapsulation for
  39. coexistence with other protocols running over SMDS, enabling ESs to
  40. find an active IS, enabling ISs to find each other, optimizing routes
  41. across SMDS (eliminating double-hopping across SMDS), and efficient
  42. and reliable distribution of LSPs (link state packets) across SMDS.
  43.  
  44.  
  45.  
  46. 1  CONVENTIONS
  47.  
  48. The following language conventions are used in the items of
  49. specification in this document:
  50.  
  51.      a)  MUST, SHALL, or MANDATORY -- the item is an absolute
  52.          requirement
  53.  
  54.      b)  SHOULD or RECOMMENDED -- the item should generally be
  55.          followed for all but exceptional circumstances
  56.  
  57.                                                                 Page 2
  58.  
  59.  
  60.      c)  MAY or OPTIONAL -- the item is truly optional and may be
  61.          followed or ignored according to the needs of the
  62.          implementor.
  63.  
  64.  
  65.  
  66.  
  67. 2  INTRODUCTION
  68.  
  69. Connectionless OSI has been designed to operate over point to point
  70. links, and over LANs.  SMDS does not fit either model.  It is not like
  71. a point to point link because it is multiaccess and requires a data
  72. link destination address.  It is not like a LAN because it is a
  73. tariffed service, costs across it cannot be assumed to be the same for
  74. all destinations, bandwidth use should be more conservative than on a
  75. LAN, multicast recipients have to be preconfigured, and there is a
  76. limit to the number of recipients of any SMDS group address.
  77.  
  78. On SMDS, the SMDS individual address of a station is determined at
  79. subscription time by the SMDS service provider.  A group address is
  80. assigned by the SMDS service provider (in contrast to an 802 LAN,
  81. where the multicast addresses can be known beforehand and specified in
  82. the spec), and the list of the individual members of the group has to
  83. be configured by the service provider (in contrast to an 802 LAN,
  84. where any node can listen to any address).  The membership of an SMDS
  85. group cannot change dynamically.
  86.  
  87. There are three basic pieces to the Network Layer which are covered by
  88. this document.  The first is CLNP, which is the data packet format and
  89. the addressing structure.  The second piece is ES-IS, which is the
  90. handshaking protocol between neighbor ESs and ISs, which enables ISs
  91. to keep track of adjacent ESs, and ESs to keep track of at least one
  92. IS.  It also enables nodes to keep a correspondence between Network
  93. Layer addresses and Data Link Layer addresses.  The third piece is
  94. IS-IS, which is the intra-domain routing protocol.
  95.  
  96. IDRP (InterDomain Routing Protocol) is being standardized as an
  97. inter-domain routing protocol for CLNP, but we will not discuss that
  98. in this document.  At some point, operation of IDRP across SMDS should
  99. be standardized, but in this document some combination of judicious
  100. use of CLNP addressing, manual configuration, and use of IS-IS will
  101. suffice for interconnection of connectionless OSI nodes across SMDS.
  102.  
  103. Variable length fields in packets are encoded as "options", with an
  104. octet that specifies the option type, a length field specifying the
  105. length of the data associated with the option, and a field with the
  106. data associated with the option.  Option types with associated data
  107. fields that are likely to be very long are specified with a 2 octet
  108. length field.  Option types with data which would not exceed 256
  109. octets are specified with a 1 octet length field.
  110.  
  111. This specification only relates to routers and endnodes directly
  112. connected to SMDS.  No changes are required to routers and endnodes
  113. not directly connected to SMDS.
  114.  
  115.                                                                 Page 3
  116.  
  117.  
  118. Note that the packets defined in this document never propagate beyond
  119. SMDS.  They are used for negotiating with neighbors across SMDS.
  120. Packets that do get forwarded (for instance, link state packets, data
  121. packets) are not affected by this document, other than the definition
  122. of how they are encapsulated with an SMDS header while traversing
  123. SMDS.  The packets in this document have the same packet types and
  124. basic function as packets defined in ES-IS and IS-IS for neighbor
  125. handshaking.  However, since neighbor handshaking protocols are
  126. technology dependent, the encoding of the packets for SMDS are
  127. different from the packets defined for 802 LANs.
  128.  
  129.  
  130.  
  131. 2.1  CLNP Addresses
  132.  
  133. A CLNP address consists of:
  134.  
  135. +--------------------+----------+----------------------+-----+
  136. |         IDP        | LOC-AREA |          ID          | SEL |
  137. +--------------------+----------+----------------------+-----+
  138.  
  139.  
  140. SMDS addresses are E.164 addresses.  The first octet of the IDP in a
  141. CLNP address specifies the type of address encoded in the IDP.  One
  142. type is an E.164 address.  Therefore it is possible to learn, from the
  143. initial portion of the IDP, that an address is an E.164 address, and
  144. examination further into the IDP can yield information such as country
  145. code, area code, exchange, and finally the entire E.164 address.
  146.  
  147. Level 2 IS-IS routing routes to address prefixes.  Therefore a router
  148. attached to SMDS can be configured to advertise that it can reach any
  149. E.164 address, or be more specific about addresses by including a
  150. longer address prefix.
  151.  
  152. It is recommended but not required that the nodes in a CLNP net
  153. attached to SMDS via router R use R's SMDS address in their IDP.  All
  154. nodes (ESs and ISs) attached to SMDS will be configured with
  155. information about the CLNP address prefixes reachable directly on
  156. SMDS.  If a destination's IDP contains the SMDS address to which
  157. packets for that destination should be forwarded, communication to
  158. that destination is possible without forwarding by an IS, manual
  159. configuration, or previous routing protocol exchange.  If CLNP
  160. addresses are not assigned this way communication is still possible,
  161. but it involves additional manual configuration or routing protocol
  162. messages.
  163.  
  164. If the destination's IDP is not the router's SMDS address as described
  165. in the previous paragraph, the packet is initially transmitted to a
  166. nonpassive router, which will have learned how to reach the
  167. destination's address either through manual configuration or previous
  168. protocol exchange.  The nonpassive router will issue Redirect messages
  169. when necessary to prevent multiple hop routes across SMDS.
  170.  
  171.                                                                 Page 4
  172.  
  173.  
  174. 2.2  Types Of Nodes Attached To SMDS
  175.  
  176. There are the following types of ESs connected to SMDS:
  177.  
  178.      1.  "Simple-ES":  A simple ES is one that has its SMDS address as
  179.          its IDP.  The CLNP ISs do not have to keep track of such an
  180.          ES, since it will automatically be reachable.  Although a
  181.          simple-ES need not be continually in contact with routers (as
  182.          would be the case if the ES needed to keep the network
  183.          informed of its existence), such an ES does need to be able
  184.          to find an IS quickly in the event that it needs to transmit
  185.          a packet to an IDP that is not obviously reachable on the
  186.          SMDS net.  The message that it sends is an ES Hello.  The act
  187.          of sending the message is known as "pinging".
  188.  
  189.      2.  "Configured-ES":  A Configured-ES is an ES that does not use
  190.          its SMDS address as its IDP, but whose CLNP/SMDS address pair
  191.          has been configured into all the nonpassive (see types of
  192.          routers) routers on SMDS.  A configured-ES does not need to
  193.          keep in contact with ISs, since the ISs have been manually
  194.          configured to know how to reach the ES.  However, as with a
  195.          Simple-ES, a Configured-ES does need to be able to find an IS
  196.          quickly in the event that it needs to transmit a packet to an
  197.          IDP that is not obviously reachable on the SMDS net.
  198.  
  199.      3.  "Dynamically-Learned ES":  A Dynamically-Learned-ES is an ES
  200.          that does not use its SMDS DTE address as its IDP and whose
  201.          CLNP/SMDS address pair has not been configured into all the
  202.          nonpassive routers.  Dynamically-Learned-ESs must keep in
  203.          continual contact with a nonpassive router so that the
  204.          network can learn how to reach the ES.  It is highly
  205.          desirable, and in almost all cases easy, to avoid the
  206.          necessity for having any Dynamically-Learned-ESs since
  207.          keeping the network informed about these ESs consumes
  208.          bandwidth.
  209.  
  210.  
  211. There are the following types of ISs:
  212.  
  213.      1.  "Passive-IS":  A Passive-IS attaches a portion of the network
  214.          to SMDS, and the IDP of all nodes in that portion equals that
  215.          router's SMDS address.  A Passive-IS is equivalent to a
  216.          Simple-ES.  Like a Simple-ES, it does not need to communicate
  217.          with other ISs unless it has traffic to forward off the SMDS
  218.          network.
  219.  
  220.      2.  "Configured-Passive-IS":  This is an IS, R, that, although it
  221.          attaches nodes to SMDS that have IDPs other than R's SMDS
  222.          address, can still behave like a Passive-IS because all
  223.          Nonpassive-ISs on SMDS have been configured with the address
  224.          prefixes reachable through R.
  225.  
  226.      3.  "Nonpassive-IS":  A router that runs IS-IS.  It is possible
  227.          for a router to be configured to be a Nonpassive-IS even if
  228.          all the nodes it can reach off SMDS have the appropriate IDP.
  229.  
  230.                                                                 Page 5
  231.  
  232.  
  233.          In most cases, however, this would be undesirable, since
  234.          running IS-IS consumes bandwidth.  In general, the
  235.          Nonpassive-ISs will be those that attach to a complex portion
  236.          of the OSI network with a large and dynamically changing set
  237.          of CLNP address prefixes.
  238.  
  239.  
  240.  
  241.  
  242. 2.3  ES-IS For SMDS
  243.  
  244. ES-IS for SMDS is similar to ES-IS for 802 LANs.  The difference is
  245. that on 802 LANs, ESs continually multicast to the ISs, and the ISs
  246. continually multicast to the ESs.  This is undesirable on SMDS since
  247. it consumes too much bandwidth.  Simple-ESs and Configured-ESs will
  248. not require periodic exchange of Hello messages.  Instead, a Simple-ES
  249. will be configured with a set of addresses for reaching ISs, and will
  250. send a message requiring a reply to that set of addresses when the
  251. need for an IS arises.
  252.  
  253. A Dynamically-Learned-ES will need to periodically send ES Hellos to a
  254. Nonpassive-IS, since otherwise the network will not know how to route
  255. to that ES.  Since the ES must know whether its ES Hello is reaching
  256. an IS, the IS will have to periodically reassure the ES that it is up
  257. and receiving the ES Hellos.  Therefore ES-IS for a
  258. Dynamically-Learned-ES is very similar to ES-IS for 802 LANs, i.e.
  259. the ES periodically sends ES Hellos to an IS (though in the SMDS case
  260. it only needs to send to one IS, the Designated Router (DR)), and that
  261. IS periodically sends IS Hellos to that ES.  The way the ES finds the
  262. DR is that the ES initially sends to some configured set of addresses
  263. of routers.  A router other than the DR that receives an ES-Hello
  264. transmits a Hello Redirect, redirecting that ES to the DR's SMDS
  265. address.  The ES, as a result of receiving the Hello Redirect, sends
  266. an ES Hello to the indicated SMDS address, which will cause the DR to
  267. start transmitting DR-ES Hellos to the ES.  An ES that is receiving
  268. DR-ES Hellos transmits ES Hellos only to the SMDS address from which
  269. it is receiving DR-ES Hellos.
  270.  
  271. In order for a Dynamically-Learned-ES and the DR to find each other,
  272. at least one of the following must have occurred:
  273.  
  274.      1.  the ES will have been configured with SMDS addresses for
  275.          reaching ISs, and the DR receives messages on one of those
  276.          configured addresses, or an IS which is currently up has
  277.          received the ESs Hello and sent a Hello Redirect
  278.  
  279.      2.  at least one IS that is currently up has been configured with
  280.          an SMDS address which that ES receives.
  281.  
  282.  
  283. Both mechanisms are provided to allow the flexibility of configuration
  284. at the ES, configuration at the ISs, or some combination.
  285.  
  286. Note that the configuration information for Configured-ESs is
  287. different from the configuration information for
  288.  
  289.                                                                 Page 6
  290.  
  291.  
  292. Dynamically-Learned-ESs.  The configuration information at an IS for a
  293. Dynamically-Learned-ES is an SMDS address that will reach that ES.  It
  294. might be an SMDS group address that will reach that ES and many
  295. others, or it might be an SMDS individual address.  Information for
  296. Dynamically-Learned-ESs may be configured into only a subset of ISs
  297. (and possibly none of the ISs provided that the Dynamically-Learned-ES
  298. has been configured with SMDS addresses for reaching ISs).  In
  299. contrast, information for Configured-ESs must be configured into every
  300. Nonpassive-IS, and it consists of the unicast SMDS address, CLNP
  301. address pair for that ES.
  302.  
  303. The other part of ES-IS on 802 LANs involves having routers sending
  304. Redirect messages, and ESs keeping a cache of (destination Network
  305. Layer address, Data Link address to forward to) correspondence.  That
  306. portion of ES-IS will remain the same on SMDS, although Redirects will
  307. also be sent to routers, and routers will also keep Redirect caches.
  308.  
  309.  
  310.  
  311. 2.4  IS-IS On SMDS
  312.  
  313. There are two parts of IS-IS relevant to SMDS:
  314.  
  315.      1.  how all the ISs find each other and elect a Designated Router
  316.  
  317.      2.  how an LSP is reliably and efficiently broadcast across SMDS
  318.  
  319.  
  320.  
  321.  
  322. 2.4.1  ISs Finding Each Other - On 802 LANs, ISs find each other by
  323. multicasting IS Hellos to a multicast address that does not need to be
  324. manually configured because it is a predefined number and appears in
  325. the specification of IS-IS.  This is not possible in SMDS.  Even
  326. though it provides a multicast function, the actual SMDS group address
  327. is assigned by the SMDS provider.
  328.  
  329. In SMDS, we will allow but not require exploitation of the multicast
  330. capability provided by SMDS.  We will assume that there are zero or
  331. more SMDS group addresses assigned for reaching routers (since there
  332. are a limited number of recipients for an SMDS group address).  Each
  333. router will be configured with a set of addresses for reaching other
  334. routers.  The configured addresses can be any mixture of SMDS
  335. individual and SMDS group addresses.  By exchanging IS Hellos, the
  336. routers eventually decide upon a Designated Router, and thereafter all
  337. routers send IS Hellos only to the DR, and the DR sends IS Hellos to
  338. all the routers, listing in the IS Hellos all the other routers that
  339. are up.
  340.  
  341.  
  342.  
  343. 2.4.2  Reliable And Efficient LSP Distribution Across SMDS -
  344.  
  345. An SMDS IS that has an LSP to transmit across SMDS unicasts the LSP to
  346. the DR.  The DR transmits it to all the ISs.  There are no explicit
  347.  
  348.                                                                 Page 7
  349.  
  350.  
  351. acknowledgments.  Instead, the DR periodically transmits CSNPs, which
  352. summarize the state of the LSP database.  If based on the CSNP a
  353. router discovers a discrepancy between its own LSP database and the
  354. DR's, the router retransmits the missing LSP to the DR or requests the
  355. DR's LSP, as appropriate.
  356.  
  357.  
  358.  
  359. 2.5  Packet Encapsulation
  360.  
  361. The convention is that 802.2 encapsulation is used for protocols
  362. running on SMDS.  OSI CLNS has a SAP assigned, so the data portion of
  363. the SMDS packet will have the fields:
  364.  
  365.      1.  DSAP (1 octet) = fe hex
  366.  
  367.      2.  SSAP (1 octet) = fe hex
  368.  
  369.      3.  CTL (1 octet) = 3
  370.  
  371.      4.  Start of CLNS packet -- NLPID is the first octet, which is 81
  372.          hex for CLNP, 82 hex for ES-IS and 83 hex for IS-IS.
  373.  
  374.  
  375.  
  376.  
  377. 2.6  Multiply Attached Nodes
  378.  
  379.  
  380.               +----------+
  381.          |    |  SMDS    |--R3
  382.          |-R1-|x         |
  383.          |-R2-|y         |
  384.       A--|    |          |
  385.               |          |
  386.               +-----------
  387.  
  388.  
  389. In the above picture, A can be reached over SMDS via either R1, with
  390. SMDS address x, or R2, with SMDS address y.  If R3 is to be
  391. preconfigured for reaching A, it must be possible to configure both x
  392. and y as SMDS addresses for reaching A.
  393.  
  394. To accommodate portions of the network attached via multiple routers,
  395. the configuration information for reaching a CLNP address prefix will
  396. consist of a set of SMDS addresses.  Any node that initiates
  397. communication with a destination whose CLNP address matches a
  398. preconfigured address prefix that is configured with a set of SMDS
  399. addresses initially stores the entire configured set of associated
  400. SMDS addresses in a cache, and tries each one round robin as packets
  401. are transmitted to that destination.  Once traffic is received from
  402. that destination, the SMDS address from which traffic from that
  403. destination is received is written into the cache and all other
  404. addresses are discarded.  Future packets to that destination are sent
  405. only to that SMDS address, until the cache entry is deleted due to not
  406.  
  407.                                                                 Page 8
  408.  
  409.  
  410. being verified by incoming traffic from that CLNP destination address,
  411. SMDS address pair.
  412.  
  413.  
  414.  
  415. 2.7  Security
  416.  
  417. In order to prevent an unauthorized node on SMDS from sending messages
  418. claiming to be an OSI node, it must be possible to configure the nodes
  419. on SMDS to require a password before believing a node to be a valid
  420. neighbor.  The link to SMDS is configured with a password to include
  421. in a Hello message or Hello Redirect, as well as a set of passwords
  422. acceptable in a received Hello message or Hello Redirect.  If no
  423. transmit password is configured, then the password option is not
  424. included in the packet.  If no receive passwords are configured, then
  425. the password option, if it appears in a received Hello or Hello
  426. Redirect message, is ignored.
  427.  
  428. An endnode is configured with a single transmit password, and a set of
  429. receive passwords acceptable in a received IS to ES Hello or Hello
  430. Redirect.  A level 1 router is configured with a transmit password to
  431. be included in the level 1 IS Hello and Hello Redirect and a
  432. (potentially different) password to be included in the IS to ES Hello
  433. and a Hello Redirect sent to an ES.  It is also configured with a set
  434. of receive passwords acceptable in ES Hellos, and a set of receive
  435. passwords acceptable in level 1 IS Hellos and Hello Redirects.  A
  436. level 2 router configured to consider the SMDS network as level 2 only
  437. is configured with a single transmit password for level 2 IS Hellos
  438. and Hello Redirects, and a set of receive passwords acceptable in
  439. received level 2 IS Hellos and Hello Redirects.  A level 2 router that
  440. considers the SMDS net as both level 1 and level 2 has the
  441. configuration for both level 1 and level 2.  It is possible for
  442. passwords to be the same (for instance, the receive and transmit
  443. password can be the same, and/or the level 1 and level 2 passwords can
  444. be the same).
  445.  
  446. Security can be added to an existing deployed network running on SMDS
  447. without disruption.  For example, assume the level 1 routers in a
  448. network are running without any password checking.  That means that no
  449. level 1 routers are configured with transmit or receive passwords.
  450. All nodes are therefore transmitting Hellos and Hello Redirects
  451. without the password option, and are all ignoring the password option
  452. in received Hellos and Hello Redirects.  To add a password, the
  453. network manager must configure all nodes, one by one, to transmit a
  454. particular password.  Then, after all nodes have been configured to
  455. transmit the password, configure the receive password set in each
  456. router, one by one, to be the specified password.
  457.  
  458. Note that an intruder cannot fool existing nodes to transmit the
  459. password.  A router sends the password only in a Hello message
  460. transmitted to an SMDS address it has been configured to transmit to,
  461. or to an SMDS address it has been informed of by a node it already
  462. trusts (because of having received a valid password from the node in a
  463. Hello or a Hello Redirect, or having been configured with its address,
  464. or because of having been told of its SMDS address in a Hello message
  465.  
  466.                                                                 Page 9
  467.  
  468.  
  469. with a valid password).
  470.  
  471. An intruder can do some damage by sending data Redirect messages.
  472. Adding a password to the data Redirect message has some problems:
  473.  
  474.      1.  The data message does not contain a password, and it would
  475.          therefore be possible for an intruder to trick a router into
  476.          sending a Redirect message (containing a password), by
  477.          sending it a data message it will need to forward.
  478.  
  479.      2.  It must be possible to believe a Redirect from a router in a
  480.          different area.  It is not advisable to require nodes to be
  481.          configured with passwords from other areas.
  482.  
  483.  
  484. For these reasons, there is no password in the data Redirect.  Instead
  485. the following mechanism is provided.  Assume node N receives a
  486. Redirect from SMDS address A which informs N that for destination D it
  487. should transmit to SMDS address B.  N rejects the Redirect unless A is
  488. the SMDS address to which N would transmit packets with destination
  489. address D.
  490.  
  491. As a performance optimization, if N is an ES that has the null set as
  492. the configured set of receive passwords, or an IS with the null set as
  493. the configured set of IS receive passwords (level 1 or level 2), then
  494. N may skip the validity check on the data Redirect.
  495.  
  496.  
  497.  
  498. 3  CONFIGURATION INFORMATION
  499.  
  500. 3.1  Simple-ES, Configured-ES, Passive-IS, Configured-Passive-IS
  501.  
  502. The following information must be configured into ESs and ISs of types
  503. Simple-ES, Configured-ES, Passive-IS, or Configured-Passive-IS that
  504. are attached to SMDS.
  505.  
  506.      1.  Set of SMDS addresses for reaching routers.  Each of these
  507.          addresses may be an SMDS group address or an SMDS individual
  508.          address.
  509.  
  510.      2.  Set of CLNP address prefixes reachable on SMDS
  511.  
  512.          a)  CLNP address prefix
  513.  
  514.          b)  flag indicating SMDS address should be extracted from the
  515.              IDP, or if flag is false, an SMDS address or set of SMDS
  516.              addresses to which packets for that CLNP address prefix
  517.              should be forwarded
  518.  
  519.          c)  preferred carrier (to be used in filling in the SMDS
  520.              header when routing to that address prefix).  This is an
  521.              optional field in the SMDS header and it is optional to
  522.              configure it.  If not configured, the field will not be
  523.              present in the SMDS header.
  524.  
  525.                                                                Page 10
  526.  
  527.  
  528.      3.  Minimum time (in seconds) between pings of any one configured
  529.          SMDS address for reaching routers
  530.  
  531.      4.  Time (in seconds) to give up on one SMDS address for finding
  532.          a router and switching to pinging the next one on the list
  533.  
  534.      5.  Transmit password -- a variable length value to be included
  535.          in ES Hellos.  If no password is configured (or a null
  536.          password is configured), the password option is not included
  537.          in ES Hellos.
  538.  
  539.      6.  Set of receive passwords -- a set of variable length values.
  540.          If none are configured (the set is the null set), then the
  541.          password option, if it is included in received IS Hellos and
  542.          Hello Redirects, is ignored.  If the set is not null, then
  543.          one of the values must appear in a received IS Hello or
  544.          Redirect or the message will be discarded as invalid.
  545.  
  546.  
  547.  
  548.  
  549. 3.2  Dynamically-Learned-ESs
  550.  
  551.  
  552.      1.  Set of SMDS addresses for reaching routers.  Each of these
  553.          addresses may be an SMDS group address or an SMDS individual
  554.          address.
  555.  
  556.      2.  Set of CLNP address prefixes reachable on SMDS
  557.  
  558.          a)  CLNP address prefix
  559.  
  560.          b)  flag indicating SMDS address should be extracted from the
  561.              IDP, or if flag is false, an SMDS address or set of SMDS
  562.              addresses to which packets for that CLNP address prefix
  563.              should be forwarded
  564.  
  565.          c)  preferred carrier (optional)
  566.  
  567.  
  568.      3.  Hello Timer.  Number of seconds between transmission of Hello
  569.          Messages by this endnode.
  570.  
  571.      4.  SMDS Group address (if any) that this node receives packets
  572.          on, as a CLNP endnode.
  573.  
  574.      5.  Flag as to whether to send Level 1 ES Hello or Level 2 ES
  575.          Hello
  576.  
  577.      6.  If Level 2 ES Hello, a set of CLNP address prefixes to
  578.          advertise
  579.  
  580.      7.  Transmit password -- a variable length value to be included
  581.          in ES Hellos.  (optional)
  582.  
  583.                                                                Page 11
  584.  
  585.  
  586.      8.  Set of receive passwords -- a set of variable length values.
  587.          If none are configured (the set is the null set), then the
  588.          password option, if it appears in a received IS Hello or
  589.          Hello Redirect, is ignored.  If the set is not null, then one
  590.          of the values must appear in a received IS Hello or Hello
  591.          Redirect or the message will be discarded as invalid.
  592.  
  593.  
  594.  
  595.  
  596. 3.3  Nonpassive-ISs
  597.  
  598. The following information must be configured into Nonpassive-ISs that
  599. are attached to SMDS, with the following exceptions.  If a router is a
  600. level 1 router, the fields corresponding to level 2 information are
  601. not configured.  If a router is a level 2 router, then the relevant
  602. configuration information depends on how the link is configured.  If
  603. the link is configured as "level 2 only", then only the level 2
  604. information applies.  Otherwise, both the level 1 and level 2
  605. information is applicable.
  606.  
  607.      1.  Link type:  either "level 2 only" or "both level 1 and level
  608.          2".  (If the router is a level 1 only router, then "both
  609.          level 1 and level 2" just means level 1.)
  610.  
  611.      2.  Level 1 Configured-ES addresses.  Each entry contains:
  612.  
  613.          a)  ID, ID length octets (ID length is a constant for the
  614.              routing domain and is most likely equal to 6)
  615.  
  616.          b)  SMDS address, 8 octets
  617.  
  618.  
  619.      3.  Preconfigured CLNP Address Prefixes
  620.  
  621.          a)  CLNP address prefix
  622.  
  623.          b)  flag indicating SMDS address should be extracted from the
  624.              IDP, or if flag is false, an SMDS address or set of SMDS
  625.              addresses to which packets for that CLNP address prefix
  626.              should be forwarded
  627.  
  628.          c)  Preferred Carrier (to use when routing to that address
  629.              prefix)
  630.  
  631.  
  632.      4.  Link Costs.  Each entry contains:
  633.  
  634.          a)  SMDS address prefix length specified in number of bits, 1
  635.              octet
  636.  
  637.          b)  SMDS address prefix, (padded with 0's to make it 8
  638.              octets)
  639.  
  640.          c)  Cost from this node to a node with the above SMDS address
  641.  
  642.                                                                Page 12
  643.  
  644.  
  645.              prefix
  646.  
  647.          The cost across SMDS to a particular SMDS address S is the
  648.          cost configured for the longest SMDS address prefix that
  649.          matches S.
  650.  
  651.      5.  Level 1 router SMDS Group Address.  The SMDS group address
  652.          this node receives packets on as a level 1 router, 8 octets.
  653.          This field configured to 0 means this node is not a member of
  654.          a multicast group for receiving level 1 routing information
  655.  
  656.      6.  Level 2 router SMDS Group Address.  The SMDS group address
  657.          this node receives packets on as a level 2 router, 8 octets.
  658.          This field configured to 0 means this node is not a member of
  659.          a multicast group for receiving level 2 routing information.
  660.  
  661.      7.  Priority for becoming Level 1 designated router, 1 octet
  662.  
  663.      8.  Priority for becoming Level 2 designated router, 1 octet
  664.  
  665.      9.  ES SMDS addresses.  SMDS addresses (individual and/or group)
  666.          for reaching ESs.  Each entry consists of:
  667.  
  668.          a)  SMDS address, 8 octets
  669.  
  670.  
  671.     10.  Level 1 Router SMDS addresses.  SMDS addresses (individual
  672.          and/or group) for reaching other level 1 routers.  Each entry
  673.          consists of:
  674.  
  675.          a)  SMDS address, 8 octets
  676.  
  677.  
  678.     11.  Level 2 Router SMDS addresses.  SMDS addresses (individual
  679.          and/or group) for reaching other level 2 routers.  Each entry
  680.          consists of:
  681.  
  682.          a)  SMDS address, 8 octets
  683.  
  684.  
  685.     12.  Level 1 IS to IS Hello Timer -- 2 octets.  Time in seconds
  686.          between periodic transmission of IS Hello messages to the
  687.          level 1 Designated Router (or if this node is the level 1 DR
  688.          for that area, to all the level 1 routers in that area)
  689.  
  690.     13.  Level 2 IS to IS Hello Timer -- 2 octets.  Time in seconds
  691.          between periodic transmission of IS Hello messages to the
  692.          level 2 Designated Router (or if this node is the level 2 DR,
  693.          to all the level 2 routers)
  694.  
  695.     14.  IS to ES Hello Timer -- 2 octets.  Time in seconds between
  696.          transmission of Hello messages to the endnodes on SMDS which
  697.          have transmitted ES Hellos, which is only relevant if this
  698.          node is Designated Router.  If this node is level 1 DR, then
  699.          DR to ES Hellos are transmitted to those ESs that have
  700.  
  701.                                                                Page 13
  702.  
  703.  
  704.          transmitted level 1 ES Hellos.  If this node is level 2 DR,
  705.          then DR to ES Hellos are transmitted to those ESs that have
  706.          transmitted level 2 ES Hellos (which advertise CLNP address
  707.          prefixes).
  708.  
  709.     15.  Redirect cache holding timer -- 2 octets.  The value to put
  710.          into Redirect messages as the holding timer.
  711.  
  712.     16.  Level 1 IS Transmit password -- a variable length value to be
  713.          included in level 1 IS Hellos and Hello Redirects.
  714.          (optional)
  715.  
  716.     17.  Level 1 IS set of receive passwords -- a set of variable
  717.          length values.  If the set is the null set then the password
  718.          option, if it appears in a received Level 1 IS Hello and
  719.          Hello Redirect, is ignored.  If the set is not null, then one
  720.          of the configured values must appear in a received IS Hello
  721.          or Hello Redirect or the packet will be discarded as invalid.
  722.  
  723.     18.  ES set of receive passwords -- a set of variable length
  724.          values.  If the set is the null set, then the password option
  725.          (if it appears) in received ES Hellos is ignored.  If the set
  726.          is not null, then one of the configured values must appear in
  727.          a received ES Hello or the ES Hello will be discarded as
  728.          invalid.
  729.  
  730.     19.  ES Transmit password -- a variable length value to be
  731.          included in the DR to ES Hello and Hello Redirect.
  732.          (optional)
  733.  
  734.     20.  Level 2 Transmit password -- a variable length value to be
  735.          included in level 2 IS Hellos and Hello Redirects.
  736.          (optional)
  737.  
  738.     21.  Level 2 Set of receive passwords -- a set of variable length
  739.          values.  If the set is the null set, then the password option
  740.          (if it appears) in received Level 2 IS Hellos and Hello
  741.          Redirects is ignored.  If the set is not null, then one of
  742.          the values must appear in a received Level 2 IS Hello or
  743.          Hello Redirect or the packet will be discarded as invalid.
  744.  
  745.     22.  Time for remembering a manually configured ES or IS SMDS
  746.          address reported in an IS-Hello in option types 1 or 3.  This
  747.          is used only by the DR (but must be configured into all
  748.          routers, since any router might become DR).  It is 1 octet,
  749.          specified in minutes, with a default of 10.  If no router has
  750.          reported an SMDS address in option types 1 or 3 in an
  751.          IS-Hello the DR has received within this amount of time, that
  752.          address is discarded from the DR's dynamic database of
  753.          configured addresses reported by IS neighbors.
  754.  
  755.  
  756.                                                                Page 14
  757.  
  758.  
  759. 4  DATABASES
  760.  
  761. 4.1  Kept By Simple-ES, Configured-ES, Passive-IS, And
  762.      Configured-Passive-IS
  763.  
  764.  
  765.      1.  Active Router Information
  766.  
  767.          a)  SMDS address, 8 octets
  768.  
  769.          b)  Holding Timer
  770.  
  771.          c)  Time since cache entry verified, either by receipt of IS
  772.              Hello or receipt of data packet forwarded from that SMDS
  773.              address
  774.  
  775.  
  776.      2.  Backup Active Router Information (other routers that answered
  777.          the ping)
  778.  
  779.          a)  SMDS address, 8 octets
  780.  
  781.          b)  Holding Timer
  782.  
  783.          c)  Time since cache entry verified, either by receipt of IS
  784.              Hello or receipt of data packet forwarded from that SMDS
  785.              address
  786.  
  787.  
  788.      3.  Router SMDS addresses pinged -- for each configured SMDS
  789.          address for reaching nonpassive routers, a timestamp as to
  790.          when a ping was last sent to that address
  791.  
  792.      4.  Destination cache
  793.  
  794.          a)  CLNP address prefix (or optionally, for implementation
  795.              simplicity, complete NSAP address)
  796.  
  797.          b)  Set of SMDS addresses for this address prefix, with a
  798.              pointer indicating which one was chosen most recently in
  799.              the round robin use of the preconfigured set of SMDS
  800.              addresses.  Once traffic is received from an SMDS
  801.              address, the set of addresses is replaced by the single
  802.              SMDS address.
  803.  
  804.          c)  Time since entry verified by incoming message (data
  805.              message from the CLNP address/SMDS pair stored in this
  806.              entry, or receipt of a Redirect with that pair specified)
  807.  
  808.  
  809.  
  810.                                                                Page 15
  811.  
  812.  
  813. 4.2  Kept By Dynamically-Learned ES
  814.  
  815.  
  816.      1.  Designated Router Information
  817.  
  818.          a)  SMDS address, 8 octets
  819.  
  820.          b)  Holding Timer
  821.  
  822.          c)  Time since DR-ES Hello received
  823.  
  824.  
  825.      2.  Destination cache
  826.  
  827.          a)  CLNP address prefix (or optionally, for implementation
  828.              simplicity, complete NSAP address)
  829.  
  830.          b)  Set of SMDS addresses for this address prefix, with a
  831.              pointer indicating which one was chosen most recently in
  832.              the round robin use of the preconfigured set of SMDS
  833.              addresses.  Once traffic is received from an SMDS
  834.              address, the set of addresses is replaced by the single
  835.              SMDS address.
  836.  
  837.          c)  Time since entry verified by incoming message (data
  838.              message from the CLNP address/SMDS pair stored in this
  839.              entry, or receipt of a Redirect with that pair specified)
  840.  
  841.  
  842.  
  843.  
  844.  
  845. 4.3  Kept By Level 1 Routers
  846.  
  847. Note that in the usual case all CLNP routers on SMDS will be level 2
  848. routers, because they will have different IDPs (since the recommended
  849. use of CLNP addressing over SMDS is to use the SMDS point of
  850. attachment as the IDP).  However, in certain rare cases, such as
  851. running with DECnet Phase IV compatible addresses it may be convenient
  852. to assign addresses such that running level 1 IS-IS over SMDS makes
  853. sense.
  854.  
  855.      1.  Designated Router information (kept by routers other than the
  856.          DR) -- information from DR's IS Hello, plus
  857.  
  858.          a)  SMDS address of DR, 8 octets
  859.  
  860.          b)  Holding Timer
  861.  
  862.          c)  Time since Hello Received from DR
  863.  
  864.  
  865.      2.  Adjacency Information for SMDS neighbors (kept by routers
  866.          other than the DR) -- This information is received from the
  867.          DR-IS Hello.  It includes the CLNP ID/SMDS address
  868.  
  869.                                                                Page 16
  870.  
  871.  
  872.          correspondence for all nodes in the area reachable across
  873.          SMDS.
  874.  
  875.      3.  Flags for which LSPs need to be transmitted over SMDS
  876.  
  877.      4.  Redirect Database (for getting rid of extra hop suboptimality
  878.          on SMDS)
  879.  
  880.          a)  CLNP address prefix
  881.  
  882.          b)  SMDS address
  883.  
  884.          c)  holding timer
  885.  
  886.          d)  Time since entry verified by incoming message.
  887.  
  888.  
  889.  
  890.  
  891.  
  892. 4.4  Kept By Level 2 Routers
  893.  
  894. Note that a level 2 router is also a level 1 router, so it keeps both
  895. databases, unless the SMDS circuit is marked "level 2 only"
  896.  
  897.      1.  Designated Router information (kept by routers other than the
  898.          DR) -- information from DR's IS Hello, plus
  899.  
  900.          a)  SMDS address, 8 octets
  901.  
  902.          b)  Holding Timer
  903.  
  904.          c)  Time since Hello Received from DR
  905.  
  906.  
  907.      2.  Adjacency Information for SMDS neighbors (kept by routers
  908.          other than the DR) -- This information is received from the
  909.          DR-IS Hello.  It includes the CLNP ID/SMDS address
  910.          correspondence for all nodes in the area reachable across
  911.          SMDS.
  912.  
  913.      3.  Flags for which LSPs need to be transmitted over SMDS
  914.  
  915.      4.  Redirect Database (for getting rid of extra hop suboptimality
  916.          on SMDS)
  917.  
  918.          a)  CLNP address prefix
  919.  
  920.          b)  SMDS address
  921.  
  922.          c)  holding timer
  923.  
  924.          d)  Time since entry verified by incoming message.
  925.  
  926.  
  927.                                                                Page 17
  928.  
  929.  
  930. 4.5  Additional Information Kept By Designated Router
  931.  
  932. (Note that in the case of a level 2 router that has the circuit marked
  933. as "both level 1 and level 2") it will have two copies of this
  934. database, one for level 1 and one for level 2
  935.  
  936.      1.  Dynamically Discovered Neighbor Endnodes
  937.  
  938.          a)  SMDS address, 8 octets
  939.  
  940.          b)  Set of CLNP IDs (if level 1), or set of CLNP address
  941.              prefixes (if level 2).  IDs are ID length.  Address
  942.              prefixes are variable length, up to 20 octets
  943.  
  944.          c)  Holding Timer
  945.  
  946.          d)  Time since Hello received
  947.  
  948.          e)  SMDS group address this ES receives messages on (if any)
  949.  
  950.  
  951.      2.  Router Neighbors
  952.  
  953.          a)  unicast SMDS address for this router, 8 octets
  954.              (discovered based on the source address in the SMDS
  955.              header of the IS Hello received from this router)
  956.  
  957.          b)  CLNP ID
  958.  
  959.          c)  Holding Timer
  960.  
  961.          d)  Time since Hello Received
  962.  
  963.          e)  SMDS group address this router receives messages on (if
  964.              any)
  965.  
  966.          f)  Cost of the link across SMDS to this neighbor router
  967.  
  968.  
  969.      3.  If level 1, L1-IS-SMDS-BROADCAST-ADDRESSES.  If level 2,
  970.          L2-IS-SMDS-BROADCAST-ADDRESSES.  The minimal set of SMDS
  971.          addresses that will reach all ISs of the appropriate level.
  972.          This includes all manually configured SMDS addresses as
  973.          configured into the DR or received by the DR in IS Hellos (in
  974.          option type 1), that will reach all routers.  All reported
  975.          and configured SMDS group addresses are included, and any
  976.          SMDS individual addresses for routers that are not known to
  977.          be included in any of the multicast groups are included.
  978.  
  979.      4.  ES-SMDS-BROADCAST-ADDRESSES.  The minimal set of SMDS
  980.          addresses that will reach all the Dynamically-Learned ESs
  981.          from which ES Hellos have been received.  This is the set of
  982.          SMDS addresses reported in received IS Hellos (in option type
  983.          3), plus SMDS unicast addresses from which ES Hellos are
  984.          received, minus those unicast addresses from ESs that report
  985.  
  986.                                                                Page 18
  987.  
  988.  
  989.          reachability via an SMDS group address, plus any SMDS group
  990.          addresses advertised in ES Hellos.
  991.  
  992.      5.  Manually configured SMDS addresses for ISs, as discovered
  993.          through option type 1 in received IS-Hellos.  Each entry
  994.          contains:
  995.  
  996.          a)  SMDS address
  997.  
  998.          b)  Most recent time that address was reported in any
  999.              received IS Hello
  1000.  
  1001.  
  1002.      6.  Manually configured SMDS addresses for ESs, as discovered
  1003.          through option type 3 in received IS-Hellos.  Each entry
  1004.          contains:
  1005.  
  1006.          a)  SMDS address
  1007.  
  1008.          b)  Most recent time that address was reported in any
  1009.              received IS Hello
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015. 5  PROTOCOLS
  1016.  
  1017. 5.1  Electing A Designated Router
  1018.  
  1019. Election of a DR is done independently in each area on SMDS, and among
  1020. the level 2 routers on SMDS.  The protocol assumes each router is
  1021. configured with some number of addresses of neighbor routers, but that
  1022. no such list is necessarily complete.  The configured addresses can be
  1023. SMDS group addresses and/or SMDS individual addresses.  One router
  1024. gets elected Designated Router.  The DR transmits DR-IS-Hellos
  1025. periodically to all configured SMDS addresses for routers, which are
  1026. those that it has been configured with as well as others it learns
  1027. about through received IS-Hellos.  All routers other than the DR
  1028. transmit an IS-Hello periodically, but only to the DR.  The DR
  1029. includes in its DR-IS-Hello a list of all the routers on SMDS.
  1030.  
  1031. This protocol minimizes IS Hello traffic, and allows incomplete
  1032. configuration (for instance, it allows a new router to be installed by
  1033. merely configuring the new router with the SMDS address of any other
  1034. router).
  1035.  
  1036. Each router starts out assuming it is DR.  A router that thinks it is
  1037. DR transmits DR-IS-Hellos periodically to each of its manually
  1038. configured SMDS addresses for router neighbors. It also receives
  1039. IS-Hellos from other routers, which contain the SMDS addresses those
  1040. routers have been manually configured with to reach router neighbors.
  1041. The DR combines all these addresses and transmits DR-IS-Hellos to all
  1042. of those addresses, plus all the SMDS addresses from which it receives
  1043. IS-Hellos, with one exception.  Since some of the manually configured
  1044.  
  1045.                                                                Page 19
  1046.  
  1047.  
  1048. addresses might be SMDS group addresses, some routers might receive
  1049. multiple copies of the DR-IS-Hellos, which would be wasteful.
  1050. Therefore the IS-Hello contains the SMDS group address (if any) that
  1051. the transmitting router receives messages on.  Then the DR can
  1052. eliminate SMDS unicast addresses that are already being covered by any
  1053. SMDS group addresses in the set.
  1054.  
  1055. A router stops thinking itself DR if it receives a DR-IS-Hello from a
  1056. router "more qualified" to be DR (which is based on ID and configured
  1057. priority).  A router that thinks some other router is DR stops sending
  1058. DR-IS-Hellos and instead sends IS-Hellos, and only to the router it
  1059. thinks is the DR.
  1060.  
  1061. One additional message is a "Hello-Redirect".  This is transmitted by
  1062. a router R1, that thinks router R2 is DR.  R1 transmits a
  1063. "Hello-Redirect" in response to receiving an IS-Hello from R3 (since
  1064. R3 sent an IS-Hello to R1, that means that R3 thinks R1 is DR).  The
  1065. Hello-Redirect informs R3 that R2's SMDS address is really the DR.
  1066. When R3 receives the Hello-Redirect, it transmits a single IS-Hello to
  1067. the SMDS address in the Hello-Redirect, but does not otherwise change
  1068. its perception of the DR.  Only after it receives a DR-IS-Hello from
  1069. R2 will R3 change its perception of the DR.
  1070.  
  1071. The protocol is as follows:
  1072.  
  1073.      1.  If a DR other than SELF is known, periodically (IS to IS
  1074.          Hello Timer) transmit IS-Hello messages to the DR.  The
  1075.          IS-Hello contains the transmitting router's SMDS individual
  1076.          address (the source address in the SMDS header), an SMDS
  1077.          group address on which it receives messages (if any), and the
  1078.          SMDS addresses (group and/or individual) it was configured
  1079.          with for reaching router neighbors.
  1080.  
  1081.      2.  If the Holding Timer expires without receipt of a DR-IS-Hello
  1082.          from the DR, delete all information about the DR and assume
  1083.          SELF is DR.
  1084.  
  1085.      3.  If router R1 which thinks R2 is DR receives an IS-Hello from
  1086.          R3, R1 sends R3 a Hello-Redirect, informing R3 about R2.
  1087.  
  1088.      4.  If router R3 receives a Hello-Redirect, informing it of R2,
  1089.          R3 transmits a single IS-Hello to R2, but does not change any
  1090.          of its state about the DR.
  1091.  
  1092.      5.  If router R1 which thinks R2 is DR receives a DR-IS-Hello
  1093.          from R4, and R4 has a higher priority for becoming DR than R2
  1094.          (based on ID and priority), then R1 deletes the information
  1095.          about R2 and keeps R4 as DR.
  1096.  
  1097.      6.  If router R1 thinks itself to be DR, it combines all the
  1098.          configured SMDS addresses for routers that it either was
  1099.          configured with or that it learned through IS-Hello messages.
  1100.          It adds to that set the SMDS addresses from which it receives
  1101.          IS-Hellos.  It then deletes from the set of unicast
  1102.          addresses, those SMDS addresses of routers that claim to be
  1103.  
  1104.                                                                Page 20
  1105.  
  1106.  
  1107.          included in an SMDS group address in the set.  This list of
  1108.          addresses is the one that R1 periodically transmits
  1109.          DR-IS-Hello messages to.  It is called the
  1110.          IS-SMDS-BROADCAST-ADDRESSES.
  1111.  
  1112.          The DR inserts into its DR-IS Hello a list of the CLNP ID,
  1113.          SMDS address pairs of each router from whom it has recently
  1114.          received an IS-Hello.  This list is used so that routers
  1115.          other than the DR can forward to each other directly over
  1116.          SMDS (i.e., they can know the SMDS address associated with
  1117.          their neighbor routers).
  1118.  
  1119.  
  1120.  
  1121.  
  1122. 5.2  Finding An IS
  1123.  
  1124. Simple-ESs, Configured-ESs, Passive-ISs, and Configured-Passive-ISs do
  1125. not maintain continual contact with a non-passive IS, as nonpassive
  1126. ISs and Dynamically-Learned ESs do.  They find an IS on an as-needed
  1127. basis by "pinging".  They are configured with a set of SMDS addresses
  1128. (group and/or individual) for reaching ISs.  When they need an IS,
  1129. they send an ES Hello (with Holding Timer 0) to each configured
  1130. address, round robin, until a reply (in the form of a DR-ES Hello or
  1131. Hello Redirect) is received.  An ES Hello with holding timer=0 is
  1132. known as a "ping".
  1133.  
  1134. An IS that receives an ES Hello with Holding Timer equal to 0 replies
  1135. with a DR-ES Hello (if the receiving IS is the DR) or a Hello Redirect
  1136. (if the receiving IS is other than the DR).  ES implementations may
  1137. choose to store only the SMDS address of the DR (the one from which a
  1138. DR-ES is received, or the SMDS address in received Hello Redirects),
  1139. or it may choose to store more SMDS addresses for ISs as backups.
  1140.  
  1141. The ISs that receive ES Hellos with Holding Timer=0 reply with a
  1142. single packet (DR-ES Hello or Hello Redirect) to the SMDS address from
  1143. which the ES Hello was received, but do not otherwise store
  1144. information from the received ES Hello.
  1145.  
  1146.  
  1147.  
  1148. 5.3  Forwarding Across SMDS
  1149.  
  1150. Only the DR gets IS Hellos from all the routers and ES Hellos from all
  1151. the dynamically discovered ESs.  The DR will put the CLNP addresses of
  1152. all the reachable ESs and ISs in the pseudonode LSP, so all the
  1153. nonpassive routers will learn which nodes are reachable across SMDS.
  1154. However, the SMDS address will not appear in the pseudonode LSP.  To
  1155. enable ISs to communicate directly, the DR's IS Hello will include the
  1156. CLNP ID, SMDS address pairs of all ISs.  It will not include all the
  1157. dynamically discovered ESs in the Hello, however.  Instead an IS other
  1158. than the DR that needs to transmit to a dynamically discovered ES will
  1159. first transmit to the DR, and then receive a Redirect.
  1160.  
  1161. The reason the DR-IS Hello contains a list of ISs but not ESs is that
  1162.  
  1163.                                                                Page 21
  1164.  
  1165.  
  1166. it is more important to quickly learn about ISs that have gone down
  1167. than ESs.  If a Redirect cache entry for an ES no longer works, it
  1168. means the ES is unreachable, whereas if an IS goes down, any Redirect
  1169. cache entries indicating traffic should be forwarded to that IS become
  1170. black holes for destinations that might be reachable through a
  1171. different IS.
  1172.  
  1173.  
  1174.  
  1175. 5.4  Fragmentation Of The DR-Hello
  1176.  
  1177. The DR-IS Hello might become very large due to its including the IS
  1178. Adjacency information, which is the list of CLNP ID, SMDS address
  1179. pairs of all the router adjacencies on SMDS.
  1180.  
  1181. The DR-IS Hello is encoded so that partial information can appear and
  1182. be processed.  This is done by including an address range when list of
  1183. addresses appears.  Then receiving routers can adjust the portion of
  1184. their adjacency database or SMDS transmit list that is included in
  1185. that range, based solely on the information in one DR-IS Hello
  1186. fragment.
  1187.  
  1188.  
  1189.  
  1190. 5.5  Maintenance Of The Destination Cache
  1191.  
  1192. Assume a packet is received with destination D, either from Transport
  1193. or from a link (in the case of a router).
  1194.  
  1195.      1.  (only relevant if packet arrived from Transport and the
  1196.          Transport/Network Layer interface allows a notification by
  1197.          Transport that it is not successfully communicating with that
  1198.          destination).  If Transport indicates a problem communicating
  1199.          with D, then delete the cache entry for D.  If no cache entry
  1200.          exists for D, and this node is a simple ES or passive router,
  1201.          delete knowledge of the active router (which will cause
  1202.          re-pinging to find a new active router).
  1203.  
  1204.      2.  If a cache entry in the destination cache exists for D, then
  1205.  
  1206.          a)  if only a single SMDS address is indicated in the cache,
  1207.              send to that SMDS address
  1208.  
  1209.          b)  if a set of SMDS addresses is given in the cache, find
  1210.              the one after the one most recently used, update the
  1211.              round robin pointer, and send to that SMDS address
  1212.  
  1213.  
  1214.      3.  Else (no cache entry exists), if this node is a nonpassive
  1215.          router, and a route to D has been learned through the IS-IS
  1216.          protocol which is of smaller cost or a more specific address
  1217.          match than any address prefix that matches D that has been
  1218.          configured for the SMDS circuit, then route according to the
  1219.          IS-IS learned path.
  1220.  
  1221.                                                                Page 22
  1222.  
  1223.  
  1224.      4.  Else (no cache entry exists, no better information has been
  1225.          learned through IS-IS), if D matches a configured address
  1226.          prefix, then
  1227.  
  1228.          a)  if the configuration information indicates the SMDS
  1229.              address should be extracted from D's IDP, then extract
  1230.              the SMDS address and transmit the packet
  1231.  
  1232.          b)  if the configuration information is instead a specific
  1233.              SMDS address, then transmit the packet to that SMDS
  1234.              address
  1235.  
  1236.          c)  if the configuration information instead is a set of SMDS
  1237.              addresses, then make a cache entry for (D, set of SMDS
  1238.              addresses, round robin pointer).  Send the packet to the
  1239.              first SMDS address in the list and start the round robin
  1240.              pointer there.
  1241.  
  1242.  
  1243.      5.  Else (no cache entry for D, D does not match any configured
  1244.          address prefix)
  1245.  
  1246.          a)  if a router assumed to be active is known, transmit the
  1247.              packet to that router's SMDS address
  1248.  
  1249.          b)  Else (no active router is known), perform the procedure
  1250.              of pinging the router addresses.  Hold the packet until a
  1251.              router responds to the ping, but discard the packet if no
  1252.              responses are received from any of the routers.
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258. 5.6  SMDS Configuration Information Included In LSPs
  1259.  
  1260. If CLNP addresses (IDs for level 1, and address prefixes for level 2)
  1261. are manually configured as being reachable across SMDS, they must
  1262. appear in LSPs so that routers that are not connected to SMDS can
  1263. reach those CLNP addresses.  It is wasteful for all the routers on
  1264. SMDS to include those addresses in their LSPs.  Therefore, a router
  1265. includes in its LSP only those manually configured addresses that are
  1266. not already included in the pseudonode LSP for SMDS.  As a result if
  1267. all nonpassive routers on SMDS are configured with the same set of
  1268. reachable addresses for SMDS, only the DR will report those addresses
  1269. in an LSP (the pseudonode LSP).  If the nonpassive routers are
  1270. incompletely configured, then all routers on SMDS that have been
  1271. configured with a reachable address that the DR has not been
  1272. configured with will report that reachable address in their LSP.
  1273. Redirects will eliminate extra hops across SMDS due to incompletely
  1274. configured information.
  1275.  
  1276.                                                                Page 23
  1277.  
  1278.  
  1279. 6  PACKET FORMATS
  1280.  
  1281. The packet formats described below are the payload of an SMDS L3 PDU.
  1282. The SIP L3 information field starts with the fields DSAP, SSAP, and
  1283. CTL.
  1284.  
  1285.         +---------------------------------+
  1286.         |        SIP L3 Header            |
  1287.         +---------------------------------+
  1288.         |   DSAP (1 octet) = fe hex       | }  SIP L3
  1289.         +---------------------------------+ }  information
  1290.         |   SSAP (1 octet) = fe hex       | }  field
  1291.         +---------------------------------+ }
  1292.         |   CTL (1 octet) = 3             | }
  1293.         +---------------------------------+ }
  1294.         |   CLNS Packet, as described     | }
  1295.         |        below                    | }
  1296.         +---------------------------------+
  1297.         |    Remaining SIP L3 fields      |
  1298.         |   (padding, CRC, trailer)       |
  1299.         +---------------------------------+
  1300.  
  1301.  
  1302.  
  1303.  
  1304. 6.1  Unchanged Packet Formats
  1305.  
  1306.  
  1307.      1.  CLNP packets (data packet and error report)
  1308.  
  1309.      2.  LSPs (Level 1 and level 2)
  1310.  
  1311.      3.  CSNPs (Level 1 and level 2)
  1312.  
  1313.      4.  PSNPs (Level 1 and level 2)
  1314.  
  1315.  
  1316.  
  1317.  
  1318. 6.2  Initial Fields In All The SMDS Packets
  1319.  
  1320. All the packets start out with the following fields:
  1321.  
  1322.               # of octets
  1323. +---------+
  1324. |  NLPID  |        1
  1325. +---------+
  1326. | Version |        1
  1327. +---------+
  1328. | length  |        2
  1329. +---------+
  1330. |   Type  |        1
  1331. +---------+
  1332.  
  1333.  
  1334.                                                                Page 24
  1335.  
  1336.  
  1337.      1.  NLPID (Network Layer Protocol ID) will be 82 hex for ES-IS or
  1338.          83 hex for IS-IS
  1339.  
  1340.      2.  Version, the constant 1
  1341.  
  1342.      3.  Length, the total length of the CLNS packet
  1343.  
  1344.      4.  Type, the type of packet:
  1345.  
  1346.          1.  SMDS ES Hello (ES-IS pkt):  type 2
  1347.  
  1348.          2.  SMDS DR-ES Hello (ES-IS pkt):  type 4
  1349.  
  1350.          3.  SMDS Level 1 IS Hello (IS-IS pkt):  type 0f hex
  1351.  
  1352.          4.  SMDS Level 2 IS Hello (IS-IS pkt):  type 10 hex
  1353.  
  1354.          5.  SMDS Redirect (ES-IS):  type 6
  1355.  
  1356.  
  1357.  
  1358. Some have "options", which are encoded as:
  1359.  
  1360.               # of octets
  1361. +---------+
  1362. |  type   |        1
  1363. +---------+
  1364. | length  |       1 or 2 (depending on option type)
  1365. +---------+
  1366. |  value  |    variable
  1367. +---------+
  1368.  
  1369.  
  1370.      1.  type, the type of option
  1371.  
  1372.      2.  length, the length in octets of the "data" field
  1373.  
  1374.      3.  data, the data associated with the option
  1375.  
  1376.  
  1377. The defined types for SMDS options are:
  1378.  
  1379.      1.  preconfigured SMDS addresses for reaching ISs, option type 1
  1380.  
  1381.      2.  IS adjacencies, option type 2
  1382.  
  1383.      3.  preconfigured SMDS addresses for reaching ESs, option type 3
  1384.  
  1385.      4.  area addresses, option type 4
  1386.  
  1387.      5.  password, option type 5
  1388.  
  1389.  
  1390. In addition, there are options that appear in ES-IS packets as defined
  1391. in ISO 9542.  These options have a length field which is 1 octet.  The
  1392.  
  1393.                                                                Page 25
  1394.  
  1395.  
  1396. ISO 9542-defined options may appear in the functionally equivalent
  1397. SMDS ES-IS packets defined in this document, in which case they would
  1398. have the option codes and functions (and a length field of 1 octet) as
  1399. defined in ISO 9542.  Those options are:
  1400.  
  1401.      1.  security, option type c5 hex
  1402.  
  1403.      2.  quality of service maintenance, option type c3 hex
  1404.  
  1405.      3.  priority, option type cd hex
  1406.  
  1407.      4.  address mask, option type e1 hex
  1408.  
  1409.      5.  SNPA mask, option type e2 hex
  1410.  
  1411.      6.  suggested ES configuration timer, option type c6 hex
  1412.  
  1413.  
  1414.  
  1415.  
  1416. 6.3  SMDS ES Hello
  1417.  
  1418. Only dynamically discovered ESs send ES Hellos.  Usually an SMDS ES
  1419. will have to send a level 2 ES Hello because its IDP will not equal
  1420. the IDP of a router reachable across SMDS.
  1421.  
  1422. A level 1 ES Hello is distinguished from a level 2 ES Hello based on
  1423. the "level" flag.
  1424.  
  1425.      1.  NLPID, 1 octet, 82 hex (for ES-IS)
  1426.  
  1427.      2.  Version, 1 octet, the constant 1
  1428.  
  1429.      3.  Length, 2 octets, the total length of the packet
  1430.  
  1431.      4.  Packet Type
  1432.  
  1433.      5.  Holding Time, 2 octets, the value in seconds, equal to 3
  1434.          times Hello Timer
  1435.  
  1436.      6.  level, 1 octet -- the top 7 bits are reserved.  The bottom
  1437.          bit=1 to indicate this is a level 2 ES Hello.
  1438.  
  1439.      7.  Number of source addresses, 1 octet.  In a leve1 1 ES Hello,
  1440.          each source address consists of the ID portion of the CLNP
  1441.          address.  In a level 2 ES Hello, each source address consists
  1442.          of an octet specifying the address length, and an octet
  1443.          specifying the address.  In level 2 ES Hellos, the addresses
  1444.          advertised are CLNP address prefixes.
  1445.  
  1446.      8.  Source address
  1447.  
  1448.      9.  Source address
  1449.  
  1450.     10.  ....
  1451.  
  1452.                                                                Page 26
  1453.  
  1454.  
  1455.     11.  Source address
  1456.  
  1457.     12.  Options
  1458.  
  1459.          a)  Password
  1460.  
  1461.              i)  Option type, 1 octet = 5
  1462.  
  1463.             ii)  length, 1 octet
  1464.  
  1465.            iii)  password
  1466.  
  1467.  
  1468.  
  1469.  
  1470.  
  1471.  
  1472. 6.4  SMDS DR-to-ES Hello
  1473.  
  1474.  
  1475.      1.  NLPID, 1 octet, 82 hex (for ES-IS)
  1476.  
  1477.      2.  Version, 1 octet, the constant 1
  1478.  
  1479.      3.  Length, 2 octets, the total length of the packet
  1480.  
  1481.      4.  Packet Type
  1482.  
  1483.      5.  Holding Time, 2 octets, the value in seconds, equal to 3
  1484.          times Hello Timer
  1485.  
  1486.      6.  Options
  1487.  
  1488.          a)  Password
  1489.  
  1490.              i)  Option type, 1 octet = 5
  1491.  
  1492.             ii)  length, 1 octet
  1493.  
  1494.            iii)  password
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501. 6.5  SMDS Level 1 IS Hello
  1502.  
  1503. This packet type is used both for a non-DR to send an ISH to the DR,
  1504. and for the DR to send its ISH to the other ISs.
  1505.  
  1506.      1.  NLPID, 1 octet, 83 hex (for IS-IS)
  1507.  
  1508.      2.  Version, 1 octet, the constant 1
  1509.  
  1510.                                                                Page 27
  1511.  
  1512.  
  1513.      3.  Length, 2 octets, the total length of the packet
  1514.  
  1515.      4.  Packet Type
  1516.  
  1517.      5.  Holding Time, 2 octets, the value in seconds, equal to 3
  1518.          times Hello Timer
  1519.  
  1520.      6.  DR flag, 1 octet -- the top 7 bits are reserved.  The bottom
  1521.          bit=1 indicates the transmitting IS considers itself to be
  1522.          the DR.
  1523.  
  1524.      7.  ID length, 1 octet, the number of octets this router thinks
  1525.          is in the ID field of a CLNP address
  1526.  
  1527.      8.  Maximum area addresses, 1 octet, the maximum number of area
  1528.          addresses this router is prepared to keep
  1529.  
  1530.      9.  Priority, 1 octet, the configured priority of this IS for
  1531.          becoming DR
  1532.  
  1533.     10.  Circuit type, 1 octet, 1=level 1 only, 2=level 2 only, 3=both
  1534.          level 1 and level 2
  1535.  
  1536.     11.  ID, (ID length octets)
  1537.  
  1538.     12.  SMDS group address (or 0 if none) this router receives
  1539.          messages on, 8 octets -- this field is only present when the
  1540.          ISH is transmitted by a non-DR
  1541.  
  1542.     13.  Options
  1543.  
  1544.          a)  Area addresses
  1545.  
  1546.              i)  Option type, 1 octet = 4
  1547.  
  1548.             ii)  length, 1 octet, a multiple of 8
  1549.  
  1550.            iii)  list of area addresses
  1551.  
  1552.                  a)  Address length, 1 octet
  1553.  
  1554.                  b)  Area Address
  1555.  
  1556.  
  1557.  
  1558.          b)  Preconfigured SMDS addresses for reaching ISs (only
  1559.              transmitted by non-DR)
  1560.  
  1561.              i)  Option type, 1 octet = 1
  1562.  
  1563.             ii)  length, 2 octets, a multiple of 8
  1564.  
  1565.            iii)  list of SMDS addresses
  1566.  
  1567.  
  1568.                                                                Page 28
  1569.  
  1570.  
  1571.          c)  Preconfigured SMDS addresses for reaching ESs (only
  1572.              transmitted by non-DR)
  1573.  
  1574.              i)  Option type, 1 octet = 3
  1575.  
  1576.             ii)  length, 2 octets, a multiple of 8
  1577.  
  1578.            iii)  list of SMDS addresses
  1579.  
  1580.  
  1581.          d)  IS addresses (only transmitted by DR)
  1582.  
  1583.              i)  option type, 1 octet = 2
  1584.  
  1585.             ii)  length, 2 octets, ID length*2 plus a multiple of 8+ID
  1586.                  Length
  1587.  
  1588.            iii)  Numerically lowest ID reported in this IS Hello
  1589.  
  1590.             iv)  Numerically highest ID reported in this IS Hello
  1591.  
  1592.              v)  ID, SMDS address pairs for nonpassive routers that
  1593.                  have been sending IS Hellos to the DR
  1594.  
  1595.  
  1596.          e)  Password
  1597.  
  1598.              i)  Option type, 1 octet = 5
  1599.  
  1600.             ii)  length, 1 octet
  1601.  
  1602.            iii)  password
  1603.  
  1604.  
  1605.  
  1606.  
  1607.  
  1608.  
  1609. 6.6  SMDS Level 2 IS Hello
  1610.  
  1611. This has the same format as an SMDS Level 1 IS Hello.  The only
  1612. difference is the packet type.
  1613.  
  1614.  
  1615.  
  1616. 6.7  Redirect
  1617.  
  1618. This type of packet is used as a Hello Redirect and as a Data
  1619. Redirect.  It is used for Level 1 and Level 2 Hello Redirection.
  1620.  
  1621. A Hello Redirect is used when an IS receives a Hello from an IS or an
  1622. ES, and that IS does not think itself to be the DR.  The packet
  1623. informs the transmitter of the Hello of the SMDS address of the actual
  1624. DR.  A level 1 IS Hello Redirect is sent in response to a level 1
  1625. Hello, and directs towards the level 1 DR.  A level 2 IS Hello
  1626.  
  1627.                                                                Page 29
  1628.  
  1629.  
  1630. Redirect is sent in response to a level 2 Hello, and directs towards
  1631. the level 2 DR.
  1632.  
  1633. A Data Redirect is transmitted by an IS R to the SMDS address from
  1634. which R received a CLNP packet for forwarding, when R forwards the
  1635. packet back across the same SMDS network from which the CLNP packet
  1636. was received.
  1637.  
  1638.      1.  NLPID, 1 octet, 82 hex
  1639.  
  1640.      2.  Version, 1 octet, the constant 1
  1641.  
  1642.      3.  Length, 2 octets, the total length of the packet
  1643.  
  1644.      4.  Packet Type
  1645.  
  1646.      5.  Flags, 1 octet
  1647.                   6        1      1        # of bits
  1648.             +----------+-------+-----+
  1649.             | reserved | level | H/D |
  1650.             +----------+-------+-----+
  1651.  
  1652.          "level" is 0 for level 1, 1 for level 2.  "H/D" is 0 for Data
  1653.          Redirect, 1 for Hello Redirect
  1654.  
  1655.      6.  SMDS address, 8 octets:  In the case of a Hello Redirect, it
  1656.          is the SMDS address of the DR.  In the case of a Data
  1657.          Redirect, it is the SMDS address to forward to for that
  1658.          destination, and all destinations matching that address
  1659.          prefix.
  1660.  
  1661.      7.  Password (only present in Hello Redirect)
  1662.  
  1663.      8.  Holding Time, 2 octets, only present in Data Redirect, and is
  1664.          in units of seconds
  1665.  
  1666.      9.  CLNP destination address length, 1 octet, only present in
  1667.          Data Redirect
  1668.  
  1669.     10.  CLNP destination address, variable length, only present in
  1670.          Data Redirect
  1671.  
  1672.     11.  Options
  1673.  
  1674.          a)  Password (present only in Hello Redirect)
  1675.  
  1676.              i)  Option type, 1 octet = 5
  1677.  
  1678.             ii)  length, 1 octet
  1679.  
  1680.            iii)  password
  1681.  
  1682.  
  1683.  
  1684.  
  1685.                                                                Page 30
  1686.  
  1687.  
  1688. 7  ACRONYMS USED IN THIS SPECIFICATION
  1689.  
  1690.  
  1691.      1.  CLNP -- Connectionless Network Layer Protocol.  CLNP is the
  1692.          data packet format, including the standard for addressing.
  1693.  
  1694.      2.  CLNS -- Connectionless Network Layer Service.  CLNS includes
  1695.          the protocols CLNP, ES-IS and IS-IS.
  1696.  
  1697.      3.  ES -- End system
  1698.  
  1699.      4.  IS -- Intermediate system (i.e., a router)
  1700.  
  1701.      5.  ES-IS -- Protocol between neighbor ESs and ISs
  1702.  
  1703.      6.  IS-IS -- Protocol between ISs (includes ISs exchanging
  1704.          routing information so as to compute routes, as well as a
  1705.          protocol for neighbor ISs to find and keep track of each
  1706.          other)
  1707.  
  1708.  
  1709. ---------------------- end of specification -----------------------
  1710.  
  1711.  
  1712.